Chap.O Introduce 雲端基礎 & 簡介:
Part 1. 雲端是什麼,為何要有雲端?
核心概念:
- 只要有網路,使用者就能遠端伺服器進行操作,讓服務如水、電般隨時供應。
- 基礎架構可依業務需求擴展,實現更快、更效率、具創新的資源規劃。
- 大幅降低使用者成本(如機房、寬頻、資訊人員維護),提高產能掌握度,使其更專注開發。
1. 雲端服務特點
上述僅概略的提到核心概念,雲端尚還有以下優點:
- High availability 高可用性:
長時間運行,停機時間短。
- Fault tolerance 容錯空間:
若雲端服務組件發生故障,會啟用備用組件代替。
- Scalability 擴展性:
可手動添加/刪除其他功能,以幫助管理。
- Elastcity 可彈性:
根據需求自動添加/刪除資源。
- Global reach 全球性:
覆蓋全球受眾,即使沒有在該區域有基礎架構依然可以使用。
- Customer latency cap. 客戶延遲能力:
雲端服務為全球性,不會因用戶無設置本地網路而延遲。
- Agility 敏捷性:
雲端服務可快速反應、重新分配資源。
- Predictive cost considerations 預測成本考量:
用戶可根據自身需求,簡單預測雲端服務產生的成本。
- Disaster recovery 災難恢復:
借自動化與異域使用,可快速於災難後恢復服務。
- Security 安全性:
雲端可提供大部分組織無法提供的安全性。
2. 雲端服務模式
Packaged Software:
即自行建置包含主機 (伺服器)、存儲空間、對內外網路架設、作業系統、軟體、環境...等。
IaaS 基礎設施即服務:
由供應商將硬體(伺服器、存儲空間、對內外網路架設、虛擬空間)完成。
使用者僅需依需求選擇規格並付費使用。如:AWS、GCP、Azure Pass...等。
優點:無前期費用,敏捷且靈活,並可於需要時直接取消配置。
缺點:所有環境、應用軟體皆須自行建構。
PaaS 平台即服務:
除上述硬體,供應商也將提供開發者模組化開發元件、開發環境。
使用者需了解如何使用開發元件與環境。
優點:比 IaaS 更敏捷(預設內建模型/應用程式),用多少付多少。
缺點:因平台本身限制,較不具靈活性。
SaaS 軟體即服務:
基於 IaaS/PaaS,專業供應商將使用者所需的系統也開發完成。
使用者不需了解如何開發,即享受完整的服務。
優點:專門設計工作用軟體,有針對性。
缺點:因軟體本身限制,不具靈活性。
如:Gmail、Facebook、office 360...等。
3. 雲端部屬
Public Cloud 公有雲
- 雲端服務/委託為雲供應商擁有。
- 提供資源與服務給所有使用者。
- 允許公共訪問/存取,通過安全網絡連接訪問。
-
維護成本低
如:AWS、GCP、Azure...等。
Private Cloud 私有雲
- 雲端為某組織於私有環境創建/擁有。
- 提供組織內部資源獨享,且具高度自由性。
- 通過高度安全的私有網路連接訪問。
-
維護成本高。
Hybrid Cloud 混和雲
- 由多個雲組成
- 非企業公開資料可放在公有雲上,若有企業私密資料也可放在私有雲上。
Community cloud 社群雲
- 平台由共同目標組織所有。
- 提供擁有組織內部資源共享。
4. Regions pair 配對域
為降低自然災害、內亂或須被迫停機時導致的中斷網路,故特組成 Regions pair。
Avaliable Sets 可用集
- Update domains 更新域 (UD):
Scheduled maintenance, performance or security updates are sequenced through update domains.
當維護或更新時,確保平台上的其他數據中心仍然運作。
- Fault domains 故障域 (FD):
Provide a physical separation of workloads across different hardware in a datacenter.
跨數據中心內不同硬件實現物理分離(電源、散熱、積架式硬體),以防止故障發生時所有機架都喪失功能。
Avaliable Zones 可用域
即物理分離的位置,包括多個數據中心,配備獨立的電源、冷卻和網絡。
當一個數據中心故障、更新或維護時,透過 Avaliable Zones 的光纖網路連結實現不中斷服務。
區域內服務:將資源固定到特定區域,如 VM、託管硬碟、IP 地址。
區域間服務:跨區域自動複製,如區域儲存、SQL 資料庫。
5. Resource group 資源群組
共享生命週期的多重資源容器,其中可包含不同區域的資源,稱資源群組。
它使你在一個可管理的單元中,聚合、管理應用程式所需的所有資源,不需分別管理不同組件。
6. Management Group 管理群組
可在裡面管理所有你訂閱的 Azure 資源,包括能夠創建、更新和刪除。
- 管理群組可包含數個訂閱帳戶。
- 訂閱帳戶繼承的條件取決於管理群組。
- 單個目錄可支持 10000 個管理組。
- 每個管理群組樹最多可支援六階的深度。
Part 2. Architectural Components 架構組件
1. Compute Services 計算服務
1-1. Virtual Machine 虛擬機
由 Azure 中隨選且可調整的數種運算資源類型之一。
一般而言,當對於運算環境所需的控制權比其他選擇可提供的還要多時,則會選擇 VM。
1-2. VM scale sets 虛擬機器縮放比例集
建立和管理一組負載平衡的虛擬機器。
VM 實例數目可能會隨著需求或已定義的排程而自動增加或減少。
縮放集為應用程式提供高可用性,並可集中管理、設定和更新大量的虛擬機器。
使用虛擬機器縮放集,可針對計算、大型資料和容器工作負載等區域建立大型服務。
1-3. App Services 應用程式服務
有快速建置、部署與調整在任何平台上執行的特性。
提供企業無需管理基礎結構、網站常見應用、最便利的服務。
可使用的架構包括 .NET、.NET Core、Java、Node.js、Python、PHP 和 Ruby。
1-4. Functions 函數
是無伺服器解決方案,可讓您撰寫較少的程式碼、維護較少的基礎結構,並節省成本。
雲端基礎結構會提供讓應用程式保持執行所需的所有最新資源,而不需要擔心部署和維護伺服器。
1-5. Logic APP
以雲端為基礎平臺,建立和執行自動化的工作流程,以整合應用程式、資料、服務和系統。
使用此平臺,可快速開發企業和企業對企業(B2B)案例的高度可擴充整合解決方案。
1-6. Event Grid 事件方格
可讓您以事件型架構輕鬆地建立應用程式。
2. Container services 容器服務
2-1. Container Instances 容器實例
不必管理虛擬機器或學習工具,就能迅速開發應用程式,只要將其放在容器中即可於雲端中執行。
2-2. Kubernetes Service
針對分散式結構與大量容器去做編排的服務。
3. Network services 網路服務
- Virtual Network 虛擬網路
僅限於一個區域,但可藉由多個對等的虛擬網路提供雲端的通信。
- Load Balancer 負載平衡器
透過其可提供低延遲、高吞吐量,具有可用與調整性的網路。
- VPN Getway 虛擬網路閘道
透過站對站 VPN,將內部部屬網路連線到 Azure。
- Application Getway 應用程式閘道
提供應用程式層級的路由和負載平衡服務,以建置兼具調整能力與高可用性的 Web 前端。
- Content Delivery Network 內容交付網絡
多媒體內容、Web 應用程式等,可使用 CDN 來傳遞到不同地域。
4. Data Categories 數據類型
5. Data services 數據服務
- Cosmos DB
使用你選的 API,建立可全域分散的多模型完全受控資料庫。
- SQL Database SQL 資料庫
用以儲存應用程式資料。
- Database Migration 資料庫移轉服務
就是轉移資料庫用的。
6. Internet of Things 互聯網
備註:因 Microsoft 已關閉此功能實作,故無法演練。
6-1. IoT Central 互聯網中心
是一個 IoT 應用程式平台,可降低開發、管理及維護企業級 IoT 解決方案的負擔和成本。
使用 IoT Central 進行建置,有機會將時間、金錢和心力專注在 IoT 資料的企業轉型上,
而不只是維護和更新複雜且不斷演進的 IoT 基礎結構。
6-2. IoT Hub IoT 中樞
是 Azure 物聯網套件(Azure IoT Suite)中的主要 PaaS 服務。
負責管理與連接 IoT 裝置,並協助企業蒐集、管理和處理從物聯網裝置上所產生的資料。
7. Big Data & Analytics 大數據分析
7-1. SQL Data Warehouse 專用 SQL 集區
是使用 Synapse SQL 時所佈建的分析資源集合。
建立後,可以使用簡單的 PolyBase T-SQL 查詢匯入巨量資料,用分散式查詢引擎功能來執行高效能分析。
7-2. HDInsight HDInsight 叢集
是雲端中供企業使用的受控、全方位的開放原始碼分析服務。
可以在 Azure 環境中使用開放原始碼架構,如 Hadoop、Apache Spark、Apache Hive、LLAP、Apache Kafka、Apache Storm、R 等等。
7-3. Data Lake Analytics
是隨選分析作業服務,可簡化巨量資料。
無需部署、設定及調整硬體,您只需寫入查詢便可轉換資料並擷取寶貴的深入見解。
8. AI + Machine Learning 人工智慧與機器學習
8-1. Machine Learning 機器學習
是用來加速及管理機器學習服務專案生命週期的雲端服務。
可以在其中建立模型,或使用從開放原始碼平臺建立的模型,如:Pytorch、TensorFlow 或 scikit-learn-學習。
MLOps 工具可協助您監視、重新定型及重新部署模型。
8-2. Machine Learning Studio 機器學習工作區
是 Azure 中的第一個拖放機器學習模型產生器。
9. DevOps
DevOps 源自 Development 和 Operations 的組合詞。
是一重視研發人員(Dev)和技術人員(Ops)之間溝通合作的文化或慣例。
DevOps 是人員、流程和工具的結合,能持續向客戶交付有價值的軟體或服務,
透過自動化「軟體交付」和「架構變更」流程,使構建、測試、發布軟體能更快捷、頻繁和可靠。
10. Security Groups 安全性
Defense in Depth 縱深防禦
- Physical Security:硬體物理防線
- Identity & Access:帳號密碼
- Perimeter:過濾大規模的 DDoS
- Network:通過分段、存取限制資源通信
- Compute:確保對虛擬機存取
- Application:確保應用程式安全
- Data:存放資料